{
  "project": "full_story_douyin_video",
  "topic": "我让 Claude Code 自己做视频，失败十几次后，真的跑通了",
  "generated_at": "2026-07-10T18:57:00",
  "based_on_real_data": true,

  "timeline_phases": [
    {
      "phase": 1,
      "title": "真实录屏路线失败",
      "time_range": "Day 1-2",
      "description": "尝试用 ffmpeg gdigrab 捕获 Claude Code 执行过程桌面。后台 bash 在 Session 0，用户桌面在 Session 1，gdigrab 只能捕获同会话桌面。5 种方案全部失败：直接 bash 调用、Task Scheduler /IT、WScript/VBS、XML 任务定义、ASCII 路径——全部得到空文件或静态画面。",
      "key_evidence": "BLOCKED_REPORT.md — 5 种方案全失败",
      "verdict": "Windows 桌面会话隔离无法绕过"
    },
    {
      "phase": 2,
      "title": "Claude Code 跑偏到其他项目",
      "time_range": "Day 2-3",
      "description": "录屏失败后，Claude Code 没有聚焦视频制作问题，而是自行切换到 Amazon 选品系统和 Sorftime 数据分析调研。项目方向偏离了视频工作流的根本目标。",
      "key_evidence": "对话记录 — Claude Code 自行切换到 Amazon/Sorftime 分支",
      "verdict": "模型主动性导致项目漂移"
    },
    {
      "phase": 3,
      "title": "ChatGPT 纠偏：从录屏切换到日志驱动 UI 重构",
      "time_range": "Day 3",
      "description": "ChatGPT 介入后指出：不要尝试录屏，Claude Code 本身就是 UI 引擎。用 Python 程序化绘制终端界面、工具调用卡片、Agent 状态。用真实执行日志驱动画面，而非捕获真实桌面。",
      "key_evidence": "ChatGPT 建议放弃录屏，改为程序化 UI 重构",
      "verdict": "方向纠正：用程序化渲染替代录屏"
    },
    {
      "phase": 4,
      "title": "日志驱动 UI 重构启动",
      "time_range": "Day 3-4",
      "description": "放弃 gdigrab 录屏后，完全改用 Python 渲染引擎：render_frames.py 按场景绘制终端界面、generate_clips.py 生成视频片段、compose_video.py 合成完整视频。引入 Multi-Agent 并行状态、进度条动画、代码逐行输入、Tool Call 卡片等真实 UI 元素。",
      "key_evidence": "v1-v7 的 render_frames / generate_clips / compose 脚本",
      "verdict": "从录制真实屏幕转向程序化渲染"
    },
    {
      "phase": 5,
      "title": "Kimi 按轮审核迭代",
      "time_range": "Day 4-5",
      "description": "每轮渲染后调用 Kimi 视觉审核 API 评分。v1=69 → v2=72 → v3=81(+9) → v4=85 → v5=86 → v6=89 → v7=90。逐轮修复：字体放大、字幕精简、FAIL→FIX→PASS 叙事、过渡动画、安全区。",
      "key_evidence": "iteration_scoreboard.json — v1(69) → v7(90)",
      "verdict": "AI 审核闭环有效，分数稳步上升"
    },
    {
      "phase": 6,
      "title": "制作痕迹清除与 V9 92 分",
      "time_range": "Day 5",
      "description": "v8 移除最后三项制作痕迹：顶部元数据标签、底部硬编码 STATUS、结尾内部版本号。v9 Kimi 审核 92/100，总体发布可用性 10/10，达到 '可直接发布' 标准。",
      "key_evidence": "kimi_review_v9_20260710.md — 92/100",
      "verdict": "零录屏、零截图、全程序化渲染路线成功"
    },
    {
      "phase": 7,
      "title": "V10 严重 Regression",
      "time_range": "Day 5",
      "description": "V10 尝试加入 analyst agent 和开头标题卡。但 render_frames_v10.py:588 硬编码 '3/3 agents working'，而画面显示 4 agents。同时 hook 段落出现 1.0-1.5s 黑屏间隙。Kimi 评分从 92 暴跌至 76。",
      "key_evidence": "kimi_review_v10_20260710.md — 76/100, 硬编码 bug",
      "verdict": "一个硬编码 bug 即可毁掉 16 分"
    },
    {
      "phase": 8,
      "title": "V11 修复与回滚决策",
      "time_range": "Day 5",
      "description": "V11 修复 6 项问题：动态 agent 数量、黑屏间隙、stagger 时间、底部文字清理。得分恢复到 88，但仍低于 V9 的 92。决策：不保留 V11，回到 V9 并冻结为最终包。",
      "key_evidence": "REGRESSION_REPORT_V10_V11.md — V11 88 < V9 92",
      "verdict": "修复 bug 不等于超越前版，回滚 V9"
    },
    {
      "phase": 9,
      "title": "Review Portal 公网部署",
      "time_range": "Day 5",
      "description": "V9 冻结包部署到 Cloudflare Pages 审核门户。所有 URL HTTP 200 验证通过：首页、V9 运行页、MP4 视频、manifest.json、latest.json。公网可访问。",
      "key_evidence": "curl HTTP 200 验证记录",
      "verdict": "公网可访问审核门户已就绪"
    },
    {
      "phase": 10,
      "title": "形成自动视频生产线",
      "time_range": "Day 5-6",
      "description": "V9 最终交付后，整条管线成为可复用的自动视频工厂：场景定义 → Python 帧渲染 → 合成 → Kimi 审核 → 修复 → 部署。从用户提出目标到成品发布，全部在 AI 协作下闭环完成。总迭代 11 轮，有效改进 23 分。",
      "key_evidence": "FINAL_RELEASE_REPORT.md — 完整迭代记录",
      "verdict": "可复用的 AI 自动视频生产线落地"
    }
  ],

  "version_scores_fact": {
    "v1": 69,
    "v2": 72,
    "v3": 81,
    "v4": 85,
    "v5": 86,
    "v6": 89,
    "v7": 90,
    "v8": 88,
    "v9": 92,
    "v10": 76,
    "v11": 88,
    "total_improvement": "+23 (69→92)",
    "regression": "v10 -16 points",
    "best_version": "v9",
    "best_score": 92
  },

  "key_players": [
    {"name": "用户", "role": "提出目标、决策、回滚指令"},
    {"name": "ChatGPT", "role": "方向纠偏、从录屏切换到程序化 UI 重构"},
    {"name": "Claude Code", "role": "执行、渲染、修复、大部分自动化工作"},
    {"name": "Kimi", "role": "每轮视觉审核评分，驱动修复决策"}
  ],

  "failed_approaches": [
    "ffmpeg gdigrab 直接录屏 — Session 隔离",
    "Task Scheduler /IT 交互式任务 — 静态画面",
    "WScript/VBS 启动可见窗口 — 无法录屏",
    "XML 任务定义 + InteractiveToken — 静态桌面",
    "ASCII 路径避免编码问题 — 依然失败",
    "V10 analyst agent — 硬编码 bug 导致 92→76 regression"
  ],

  "rejected_approaches": [
    "Real screen recording (F2/AHK/MacroRecorder)",
    "Desktop PowerShell Agent",
    "Background gdigrab recording",
    "V11 as foundation (88 < 92)"
  ],

  "final_deliverables": [
    "V9 Kimi 92/100 视频",
    "FINAL_RELEASE_REPORT.md",
    "REGRESSION_REPORT_V10_V11.md",
    "Review Portal Cloudflare Pages",
    "Context OS (CURRENT_STATE, NEXT_ACTION, ARTIFACT_INDEX, TASK_LEDGER)",
    "可复用视频工作流管线"
  ]
}
